import tkinter as tk
from tkinter import filedialog
import wx
import My_Naive_Bayesian_pandas

root = tk.Tk()
XLS_SOURCE = ""    #xls文件 的文件路径
class ButtonFrame(wx.Frame):
    def __init__(self):  # 这是初始化GUI 界面
        wx.Frame.__init__(self, None, -1, '新闻分类GUI',
                          size=(1300, 800))
        panel = wx.Panel(self)
        vbox = wx.BoxSizer(wx.VERTICAL)  # 纵向的box
        hbox1=wx.BoxSizer(wx.HORIZONTAL)    # 横向的box
        str1=wx.StaticText(panel,label=u'请选择你的xlsx文件进行新闻分类： ')  #  创建一个标签
        hbox1.Add(str1,0,wx.RIGHT,10)  # 向hbox1里添加控件,
        self.button = wx.Button(panel, -1, "选择你的 XLSX 文件", pos=(50, 20))
        self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)

        self.button.SetDefault()
        hbox1.Add(self.button,2,0,0)
        vbox.Add(hbox1,flag=wx.LEFT|wx.RIGHT|wx.EXPAND,border=10)  # 将横向box嵌套到纵向的box
        vbox.Add((-1,20))  # 添加行之间的间隙
        hbox2=wx.BoxSizer(wx.HORIZONTAL)  # 第二行
        str2=wx.StaticText(panel,label=u'分析结果：')
        hbox2.Add(str2,proportion=1)
        vbox.Add(hbox2,flag=wx.EXPAND,border=10)
        hbox3 = wx.BoxSizer(wx.HORIZONTAL)  # 第三行
        tc2 = wx.TextCtrl(panel, style=wx.TE_MULTILINE | wx.TE_READONLY,id=1)  # 这个用于展示分析结果
        hbox3.Add(tc2,proportion=1,flag=wx.EXPAND)
        vbox.Add(hbox3,proportion=1,flag=wx.LEFT|wx.RIGHT|wx.EXPAND,border=10)
        panel.SetSizer(vbox)


    def OnClick(self,event):
        global XLS_SOURCE
        root.withdraw()
        Filepath = filedialog.askopenfilename()  # 获得选择好的文件
        print('Filepath:', Filepath)
        XLS_SOURCE = Filepath
        tc2 = self.FindWindowById(1)   # 这一步是拿到我的文本框控件
        tc2.AppendText(Filepath+"\n")
        My_Naive_Bayesian_pandas.StartAnalysis(XLS_SOURCE,tc2)





if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = ButtonFrame()
    frame.Show()
    app.MainLoop()



